#include<sys/wait.h>
#include <stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>

////zombie
//int main()
//{
//  pid_t id=fork();
//  //child process
//  if(id==0)
//  {
//    int cnt=10;
//    while(cnt)
//    {
//      printf("I am child process! pid:%d getpid:%d\n",getpid(),getppid());
//      sleep(1);
//      cnt--;
//    }
//    exit(0);
//  }
//  //only father process
//  while(1)
//  {
//    wait(&id);
//    //printf("I am father process! pid:%d getpid:%d\n",getpid(),getppid());
//    sleep(1);
//  }
//  return 0;
//}


////zombie2
//int main()
//{
//  pid_t id=fork();
//  //child process
//  if(id==0)
//  {
//    int cnt=100;
//    while(cnt)
//    {
//      printf("I am child process! pid:%d getpid:%d\n",getpid(),getppid());
//      sleep(1);
//      cnt--;
//    }
//    exit(0);
//  }
//  //only father process
//  int cnt=10;
//  while(cnt)
//  {
//    --cnt;
//    printf("I am father process! pid:%d getpid:%d\n",getpid(),getppid());
//    sleep(1);
//  }
//  return 0;
//}






////tracing stop
//int main()
//{
//  printf("Hello Linux!\n");
//  sleep(10);
//  int a=0;
//  scanf("%d",&a);
//  printf("a=%d",a);
//  return 0;
//}
//

int main()
{
  while(1)
  {
    printf("hello process! pid:%d\n",getpid());
    sleep(5);
  }
  return 0;
}


////int main()
//{
//  int a=0;
//  scanf("%d",&a);
//  printf("a=%d\n",a);
//  return 0;
//}


//int main()
//{
//  while(1)
//  {
//    printf("hello process! pid:%d\n",getpid());
//    sleep(5);
//  }
//  return 0;
//}
////int AddToTop(int x)
//{
//  printf("Enter AddToTop\n");
//  int ret=0;
//  for(int i=0;i<=x;i++)
//  {
//     ret=ret+i;
//     ret=ret+i;
//  }
//  printf("Quit AddToTop()\n");
//  return ret;
//}
//
//int main()
//{
//  int ret=AddToTop(100);
//  int sum=AddToTop(100);
//  printf("%d\n",ret);
//  return 0;
//}
